package pedidos;

import java.io.Serializable;


/** Clase que representa un plato. Ademas de sus propios atributos, hereda las de Pedido
 * @author Ane
 *
 */
public class Plato extends Pedido implements Serializable{


	private static final long serialVersionUID = 139683181857261650L;
	private TipoPlato tipo;

	
	/** Constructor vacio
	 * 
	 */
	public Plato() {
		super();
		tipo = null;
	}
		
	
	/** Constructor con parametros
	 * @param codigo El codigo del plato
	 * @param descripcion La descripcion del plato
	 * @param tipo El tipo de plato al que se refiere
	 * @param precio El precio del plato
	 */
	public Plato(int codigo, String descripcion, TipoPlato tipo, double precio) {
		super(codigo, descripcion, precio);
		this.tipo = tipo;
	}


	/** Devuelve el tipo del plato
	 * @return tipo Tipo de plato
	 */
	public TipoPlato getTipo() {
		return tipo;
	}

	/** Modifica el tipo del plato
	 * @param tipo Tipo de plato
	 */
	public void setTipo(TipoPlato tipo) {
		this.tipo = tipo;
	}


	/* (non-Javadoc)
	 * @see pedidos.Pedido#toString()
	 */
	public String toString() {
		String dev = super.toString();
		return "Plato [" +dev+ " y Tipo: "+tipo+" ]";
	}

	
	/** main de prueba
	 * @param s Parametros estandar (no se utilizan)
	 */
	public static void main (String[] s){
		Plato p1 = new Plato (10, "Fritos variados", TipoPlato.Entrante, 6.50);
		Plato p2 = new Plato (15, "Ensalada de bogavante", TipoPlato.Primero, 12);		
		Plato p3 = new Plato (7, "Foiet en terrina", TipoPlato.Entrante, 8.20);
		
		System.out.println(p1);
		System.out.println(p2);
		System.out.println(p3);
	}
	
}
